﻿// 扑克牌.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
/*
链接：https://ac.nowcoder.com/acm/contest/22353/1005
来源：牛客网

你有n 种牌，第i 种牌的数目为𝑐𝑖 。另外有m 张特殊的Joker 牌。你有如下方法来组成一套牌：∙
 
不使用Joker 牌，n 种牌各一张;
使用一张Joker 牌，其他n−1 种牌各一张;
比如，当n=3 时，一共有四种不同的组合方式：
{1,2,3}、
{Joker,2,3}、
{Joker,1,3}、
{Joker,1,2}。
现在，给出n,m 和ci，你的任务是组成尽量多套牌。每张牌最多只能用在一副套牌里（可以有牌不使用）。
输入描述:
第一行输入两个整数n,m(2≤n≤50; 0≤m≤5×108) 代表牌的种数和Joker 的个数。
第二行输入n 个整数
𝑐1,𝑐2,~~,𝑐𝑛(0≤𝑐𝑖≤5×108)代表每种牌的张数。
输出描述:
在一行上输出一个整数，代表最多可以组出几套牌。
示例1
输入
复制
3 4
1 2 3
输出
复制
3
说明
可以组成
{1,Joker,3}、
{Joker,2,3}、
{Joker,2,3} 这样三套牌，
Joker 还剩一个，其余牌全部用完。


示例2
输入
复制
3 4
1 3 3
输出
复制
3
说明
可以组成
{1,Joker,3}、
{Joker,2,3}、
{Joker,2,3} 这样三套牌；也可以组成
{1,2,3},
{Joker,2,3},
{Joker,2,3} 这样三套牌。
*/



#include <iostream>

int main()
{
    std::cout << "Hello World!\n";
}

 